
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'color.dart';
import 'font.dart';
import 'font_family.dart';

class TStyleUtil {

  static TextStyle baseGeelyStyle({FontWeight? fontWeight, double? font,Color? color,}) {
    return TextStyle(
      fontFamily: FontFamily.Geely,
      fontWeight: FontWeight.w500,
      fontSize: font ?? Font.font16,
      color: color ?? ColorsValue.black2a,
    );
  }

  static TextStyle baseSCStyle({FontWeight? fontWeight, double? font,Color? color,}) {
    return TextStyle(
      fontFamily: FontFamily.SourceHanSansSC,
      fontWeight: fontWeight ?? FontWeight.w500,
      fontSize: font ?? Font.font16,
      color: color ?? ColorsValue.black2a,
    );
  }

  /// 灰色 [0xFFAAAFB5] 字体的样式
  /// 默认 [fontWeight] 为 FontWeight.w400
  /// 默认 [font] 为 Font.font12
  static TextStyle sc_4_10(Color? color) {
    return TextStyle(
      fontFamily: FontFamily.SourceHanSansSC,
      fontWeight: FontWeight.w400,
      fontSize: Font.font10,
      color: color ?? ColorsValue.black2a,
    );
  }
  static TextStyle sc_5_12(Color? color) {
    return TextStyle(
      fontFamily: FontFamily.SourceHanSansSC,
      fontWeight: FontWeight.w500,
      fontSize: Font.font12,
      color: color ?? ColorsValue.black2a,
      letterSpacing: 1.5.w,
    );
  }
  static TextStyle sc_4_12(Color? color) {
    return TextStyle(
      fontFamily: FontFamily.SourceHanSansSC,
      fontWeight: FontWeight.w400,
      fontSize: Font.font12,
      color: color ?? ColorsValue.black2a,
      letterSpacing: 1.5.w,
    );
  }

  static TextStyle sc_4_14(Color? color) {
    return TextStyle(
      fontFamily: FontFamily.SourceHanSansSC,
      fontWeight: FontWeight.w400,
      fontSize: Font.font14,
      color: color ?? ColorsValue.black2a,
    );
  }
  static TextStyle sc_5_10(Color? color) {
    return TextStyle(
      fontFamily: FontFamily.SourceHanSansSC,
      fontWeight: FontWeight.w500,
      fontSize: Font.font10,
      color: color ?? ColorsValue.black2a,
    );
  }
  static TextStyle sc_5_14(Color? color) {
    return TextStyle(
      fontFamily: FontFamily.SourceHanSansSC,
      fontWeight: FontWeight.w500,
      fontSize: Font.font14,
      color: color ?? ColorsValue.black2a,
    );
  }
  static TextStyle sc_4_16(Color? color) {
    return TextStyle(
      fontFamily: FontFamily.SourceHanSansSC,
      fontWeight: FontWeight.w400,
      fontSize: Font.font16,
      color: color ?? ColorsValue.black2a,
    );
  }
  static TextStyle sc_5_16(Color? color) {
    return TextStyle(
      fontFamily: FontFamily.SourceHanSansSC,
      fontWeight: FontWeight.w500,
      fontSize: Font.font16,
      color: color ?? ColorsValue.black2a,
      // letterSpacing: 1.5.w,
    );
  }
  static TextStyle sc_7_16(Color? color) {
    return TextStyle(
      fontFamily: FontFamily.SourceHanSansSC,
      fontWeight: FontWeight.w700,
      fontSize: Font.font16,
      color: color ?? ColorsValue.black2a,
    );
  }

  static TextStyle sc_4_18(Color? color) {
    return TextStyle(
      fontFamily: FontFamily.SourceHanSansSC,
      fontWeight: FontWeight.w400,
      fontSize: Font.font18,
      color: color ?? ColorsValue.black2a,
    );
  }
  static TextStyle sc_4_23(Color? color) {
    return TextStyle(
      fontFamily: FontFamily.SourceHanSansSC,
      fontWeight: FontWeight.w400,
      fontSize: Font.font23,
      color: color ?? ColorsValue.black2a,
    );
  }
  static TextStyle sc_5_18(Color? color) {
    return TextStyle(
      fontFamily: FontFamily.SourceHanSansSC,
      fontWeight: FontWeight.w500,
      fontSize: Font.font18,
      color: color ?? ColorsValue.black2a,
    );
  }
  static TextStyle sc_7_18(Color? color) {
    return TextStyle(
      fontFamily: FontFamily.SourceHanSansSC,
      fontWeight: FontWeight.w700,
      fontSize: Font.font18,
      color: color ?? ColorsValue.black2a,
    );
  }
  static TextStyle sc_5_b({double? font,Color? color,}) {
    return TextStyle(
      fontFamily: FontFamily.SourceHanSansSC,
      fontWeight: FontWeight.w500,
      fontSize: font ?? Font.font16,
      color: color ?? ColorsValue.black2a,
    );
  }

  static TextStyle blackSC({FontWeight? fontWeight, double? font,}) {
    return TextStyle(
      fontFamily: FontFamily.SourceHanSansSC,
      fontWeight: fontWeight ?? FontWeight.w500,
      fontSize: font ?? Font.font16,
      color: ColorsValue.black2a,
    );
  }
  /// 灰色 [0xFFAAAFB5] 字体的样式
  /// 默认 [fontWeight] 为 FontWeight.w400
  /// 默认 [font] 为 Font.font12
  static TextStyle grey_sc({FontWeight? fontWeight, double? font,}) {
    return TextStyle(
      fontFamily: FontFamily.SourceHanSansSC,
      fontWeight: fontWeight ?? FontWeight.w400,
      fontSize: font ?? Font.font12,
      color: ColorsValue.textGrey,
    );
  }
  /// 灰色 [0xFFAAAFB5] 字体的样式
  /// 默认 [fontWeight] 为 FontWeight.w400
  /// 默认 [font] 为 Font.font12
  static TextStyle grey_m_sc({double? font,}) {
    return TextStyle(
      fontFamily: FontFamily.SourceHanSansSC,
      fontWeight: FontWeight.w500,
      fontSize: font ?? Font.font12,
      color: ColorsValue.textGrey,
    );
  }

  static TextStyle greyL2SC({FontWeight? fontWeight, double? font,}) {
    return TextStyle(
      fontFamily: FontFamily.SourceHanSansSC,
      fontWeight: fontWeight ?? FontWeight.w400,
      fontSize: font ?? Font.font12,
      color: ColorsValue.grey3a,
    );
  }

  static TextStyle baseManropeStyle({FontWeight? fontWeight, double? font,Color? color,}) {
    return TextStyle(
      fontFamily: FontFamily.Manrope,
      fontWeight: fontWeight ?? FontWeight.w400,
      fontSize: font ?? Font.font16,
      color: color ?? ColorsValue.black2a,
    );
  }

  static TextStyle baseHelveticaStyle({FontWeight? fontWeight, double? font,Color? color,}) {
    return TextStyle(
      fontFamily: FontFamily.Helvetica,
      fontWeight: fontWeight ?? FontWeight.w400,
      fontSize: font ?? Font.font16,
      color: color ?? ColorsValue.black2a,
    );
  }

  static TextStyle baseDinStyle({FontWeight? fontWeight, double? font,Color? color,}) {
    return TextStyle(
      fontFamily: FontFamily.DIN,
      fontWeight: fontWeight ?? FontWeight.w400,
      fontSize: font ?? Font.font16,
      color: color ?? ColorsValue.black2a,
    );
  }

  static TextStyle ms_5_16(Color? color) {
    return TextStyle(
      fontFamily: FontFamily.Manrope,
      fontWeight: FontWeight.w500,
      fontSize: Font.font16,
      color: color ?? ColorsValue.black2a,
    );
  }


  /// GEELY Normal 20151114 ******************


  static TextStyle gn_5_14(Color? color) {
    return TextStyle(
      fontFamily: FontFamily.Geely,
      fontWeight: FontWeight.w500,
      fontSize: Font.font14,
      color: color ?? ColorsValue.black2a,
    );
  }
  static TextStyle gn_5_12(Color? color) {
    return TextStyle(
      fontFamily: FontFamily.Geely,
      fontWeight: FontWeight.w500,
      fontSize: Font.font12,
      color: color ?? ColorsValue.black2a,
    );
  }

  static TextStyle gn_5_16(Color? color) {
    return TextStyle(
      fontFamily: FontFamily.Geely,
      fontWeight: FontWeight.w500,
      fontSize: Font.font16,
      color: color ?? ColorsValue.black2a,
    );
  }
  static TextStyle gn_5_20(Color? color) {
    return TextStyle(
      fontFamily: FontFamily.Geely,
      fontWeight: FontWeight.w500,
      fontSize: Font.font20,
      color: color ?? ColorsValue.black2a,
    );
  }
  static TextStyle gn_5_22(Color? color) {
    return TextStyle(
      fontFamily: FontFamily.Geely,
      fontWeight: FontWeight.w500,
      fontSize: Font.font22,
      color: color ?? ColorsValue.black2a,
    );
  }
  /// gn - W500 - 18 - 0xff25282A
  static TextStyle gn_5_18(Color? color) {
    return TextStyle(
      fontFamily: FontFamily.Geely,
      fontWeight: FontWeight.w500,
      fontSize: Font.font18,
      color: color ?? ColorsValue.black2a,
    );
  }


  /// GEELY Normal 20151114 ******************

  static TextStyle ht_5_14(Color? color) {
    return TextStyle(
      fontFamily: FontFamily.Helvetica,
      fontWeight: FontWeight.w500,
      fontSize: Font.font14,
      color: color ?? ColorsValue.black2a,
    );
  }
  static TextStyle ht_5_16(Color? color) {
    return TextStyle(
      fontFamily: FontFamily.Helvetica,
      fontWeight: FontWeight.w500,
      fontSize: Font.font16,
      color: color ?? ColorsValue.black2a,
    );
  }

}